package network.messages;

import org.json.*;

/**
 * Representa uma mensagem construída a partir de um JSON
 * @author Victor
 */
public abstract class Mensagem
{
	/**
	 * Constrói uma mensagem de JSON com uma string
	 * @owner Victor
	 */
	public abstract void Construct(JSONObject jsonObject);

	/**
	 * Retorna o objeto JSON dessa mensagem
	 * @owner Victor
	 */
	public abstract JSONObject GetJSONObject();

	/**
	 * Retorna a string em formato JSON dessa mensagem, ideal para ser enviado
	 * @owner Victor
	 */
	public final String GetJSONString()
	{
		return GetJSONObject().toString();
	}
}
